The present invention relates generally to computer processing, and more particularly to techniques to facilitate the scheduling of activities.
Scheduling activities is a ubiquitous challenge faced by many industries and organizations. In many service-oriented industries, calls may be received from customers requesting certain tasks to be performed. These tasks may relate to installation, repair, or maintenance of products, or may be for various types of services to be rendered. The calls are typically logged (e.g., by a front-end system such as a call center) and activities are generated for the tasks. The activities are thereafter assigned to appropriate personnel and scheduled to be performed.
An operator (or user) designated to schedule the activities may be faced with a myriad of requirements for the activities. For example, an activity may require a field service personnel with a particular skill, a specific set of tools and parts, and so on. Each activity typically further needs to be performed at a particular site and within a particular time window. The available personnel may have different skills and inventory of parts, and may also operate based on different schedules and in different regions. At a minimum, the user needs to assign the activities to the personnel capable of performing the activities. For better utilization of the available resources, the activities should further be scheduled to minimize overhead, such as that associated with traveling between activities. And to improve customer satisfaction, the activities should be scheduled within any given time constraints, which may be imposed, for example, by service agreements with the customers.
As can be seen, the task of scheduling activities to efficiently utilize the available resources can be daunting. The challenge often magnifies as the number of activities, requirements, and/or personnel increases. Thus, techniques that can assist an operator in scheduling activities to achieve the desired goals are highly desirable.